Elder Scrolls IV: Oblivion Tweak Guide

[Page 8] Advanced Tweaking



While Oblivion has many in-game options for adjusting visual quality and performance, that's not where the tweaking stops. Fortunately, Oblivion has been designed for user modification (or 'Mods' - see page 4 of the guide), which make complex gameplay or graphics adjustments relatively simple to implement. Furthermore, there are a range of parameters users can access and alter to change the way the game looks and acts. There are two main ways to tweak Oblivion variables - the initialization (.ini) file; and the in-game console. This section deals with the .ini file adjustments, while the Console Commands section deals separately with using the in-game console.


Please pay careful attention to how to implement these tweaks, and read the instructions on what they do closely. While you are free to experiment, and I have tried to only include "safe" working tweaks here, bear in mind that you can get some unusual results and perhaps experience odd problems by making too many changes, so take things slowly and test the effects of the tweaks using a few different saved locations to see if they are working correctly for you - different systems will exhibit differing results. This may be tedious, but it will give you the best results.


Click to enlarge

Oblivion.ini


By default, each time Oblivion loads up, it reads the values held in the Oblivion.ini file stored under your \Documents and Settings\[User]\My Documents\My Games\Oblivion directory. This file can be opened and edited using a text editor like Windows Notepad or Wordpad, however before editing it, first change all of your in-game settings to the way you want them, then close Oblivion and make a backup copy of this file. If at any time you want to find the default values for any of the .ini variables, open the Oblivion_default.ini file under your \Program Files\Bethesda Softworks\Oblivion directory. This file contains all the defaults for Oblivion on your system, and should never be edited or deleted. If you want the game to quickly restore all the default values for your Oblivion.ini file, simply delete the Oblivion.ini file and it will be recreated with the default values the next time you start Oblivion. This can help to quickly resolve any problems you may be having as a result of incorrectly tweaking variables, however obviously you will lose all your customizations as well as your in-game settings preferences.


The performance impact of these tweaks will vary from machine to machine, sometimes significantly, but the general impact is indicated. Note that I have tested every variable in the Oblivion.ini file, and those which seem to have no discernable or useful impact, or which can cause crashes or odd behavior are not included below. Some of the variables people have been using do not do what they think they do, so if you see some notable exceptions, bear in mind that it is likely they are either not useful, or can be adjusted in-game - settings which can be fully altered using the in-game settings aren't shown below, unless they can be tweaked further:



Note: If you're having problems finding any of these commands in your Oblivion.ini file, go to the top of Oblivion.ini, press CTRL+F to open the search box, type or paste the name of the command into there, and it will find it for you. All commands below are in everyone's .ini file.


Below are all the major variables you can edit in the Oblivion.ini file, and a description of what each does based on my research and testing to date. They are sorted into categories based on their common purpose.



[General Variables]


bAllowConsole=1 - This setting allows you to use the in-game console (See Console Commands section) if set to 1. There is no reason to set it to 0.


bAllowScreenShot=1 - If set to 1, allows you to take a screenshot at any time by pressing the PRINT SCREEN key. Screenshots will be in BMP format and stored in your \Program Files\Bethesda Softworks\Oblivion directory.


SScreenShotBaseName=ScreenShot - This determines the name given to every screenshot file (followed by a number as determined below), e.g. Screenshot12.bmp.


iScreenShotIndex=7 - This determines the number given to the next screenshot taken.


iDebugText=12 - Sets the level of detail of the debug text visible when you use the TDT command (See Console Commands section). You can also use the SCROLL LOCK key to manually scroll through the various debugtext screens while TDT is active. DebugText=2 provides the most compact but useful text.


fDefaultFOV=75.0000 - Determines the default Field of View whenever you start Oblivion. If set differently from the default of 75 degrees, can put screen elements out of synch and also insert borders around the screen. Use the FOV Console Command instead (See Console Commands section).


fGlobalTimeMultiplier=1.0000 - Raising the value above 1 speeds up the rate at which world time passes, lowering it below 1 slows down time. This setting is interesting for watching rapid-motion sunsets/sunrises for example.


bBorderRegionsEnabled=1 - If set to 0, this option removes the invisible barriers around the outer parts of the game world, though not much is beyond.


iMaxDecalsPerFrame=10 - This value determines the maximum number of decals (blood marks) visible on screen at any time. Note that decals can have a noticeable impact on performance, so raising this value can reduce FPS during combat.


fDecalLifetime=10.0000 - This value determines the time in seconds before decals (blood marks) disappear. The higher the value, the longer the blood marks will take to fade away. Note again that decals can have a noticeable impact on performance.


fMinBloodDamage=1.0000 - This value determines the minimum amount of damage you must inflict to draw blood.


bUse Joystick=0 - Set to 0 if you don't have a joystick connected, some people claim this improves FPS and resolves mouse/input lag.


bInstantLevelUp=0 - If set to 1 allows your character to instantly level up without having to rest in a bed.


bSaveOnInteriorExteriorSwitch=1 - Controls whether to autosave whenever you enter/exit buildings. Setting to 0 can reduce loading pauses during entry and exit of buildings.


bPrecipitation=1 - If set to 0, disables rain effects.



[Graphics Variables]


bFull Screen=1 - Determines whether to start Oblivion in Fullscreen/Windowed mode - see In-Game Settings section. Useful for changing here in case you have problems with the Oblivion Launcher.


iSize W=1280

iSize H=1024


The above two values determine the screen width and height in pixels respectively - you can specify a custom screen resolution (in Windowed mode only) by changing these values.


fGammaMax=0.6000

fGammaMin=1.4000


The above settings are useful particularly for those with older monitors - you can alter the limits on the gamma (Brightness slider), and hence allow further adjustment of the brightness slider to suit your monitor.


iShadowMapResolution=1024 - This variable determines the resolution of the shadow maps. By lowering this value (always using a multiple of 8), you can gain significant FPS in areas with dynamic shadows in return for much 'rougher' looking shadows. For example, try a value of 128 to see the performance and image quality impact.


bAllow30Shaders=0 - If set to 1, this option allows (but does not force) the use of Shader Model 3.0 on graphics cards which support it, namely Nvidia GeForce 6800 or newer, or ATI X1000 series or newer. This can potentially improve performance when using HDR rendering for example. Check your RendererInfo.txt file in your \Documents and Settings\User\Documents\My Games\Oblivion directory to see if your card supports SM3.0 next to the option '3.0 Shaders'. Note however that even by enabling this option, Oblivion still appears to use 2.0 shaders (check the 'PSTarget' and 'VSTarget' lines in Rendererinfo.txt). In any case, if you have one of the cards mentioned above, it cannot hurt to enable this option.


iActorShadowIntMax=10

iActorShadowExtMax=10


The above two options allow you to raise the maximum number of Interior and Exterior Shadows possible (as set by your in-game sliders). The normal maximum is 10, and obviously raising this can reduce FPS.


fSpecualrStartMax=1000.0000 - This option determines the maximum range of specular lighting, if enabled (See Specular Distance in the In-Game Settings section). Lowering this value may provide some additional FPS in outdoor areas, without having to turn off Specular altogether. Alternatively you can raise it further to gain specular lighting on distant objects. Note that the word specular has been misspelled as 'specualr' in the name of this variable - don't correct it as the misspelled version is the one the engine detects.


fShadowFadeTime=1.0000 - Determines how many seconds it takes for shadows to fade in/out as you approach/retreat from objects/characters which cast shadows.


bAllowPartialPrecision=1 - This setting determines whether the shaders run in Partial Precision DX9 mode. Essentially this should be kept at 1, since partial precision provides the best FPS for minimal or no noticeable image quality loss, particularly on Nvidia FX graphics cards. However if you want the best possible image quality, set this to 0 at the cost of some FPS.


bUseRefractionShader=1 - This setting controls the shimmery/invisibility effect. Setting it to 0 can noticeably boost FPS in areas where this effect is used, such as around invisible characters, or at an Oblivion gate. Note in particular that ATI users who have major problems in such areas in particular should set this to 0.


bDoTexturePass=1 - Setting this to 0 removes textures from most objects. It can improve FPS but is obviously not recommended.


bDoSpecularPass=1 - If set to 0, removes the shiny effect on most appropriate surfaces (See Specular Distance in the In-Game Settings section). This can noticeably improve FPS on many systems.


bDoDiffusePass=1 - If set to 0, removes all dynamic lighting and hence is not recommended.


bDoCanopyShadowPass=1 - If set to 0, removes all tree shadows, which can improve FPS in forested outdoor areas.



The next page continues the .ini tweaks.